home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
-
- typedef unsigned int WORD;
- typedef unsigned char BYTE;
- typedef unsigned long DWORD;
-
- #define STACKSIZE 2048
- #define BEGINSTACK(a) { \
- a##ss = _SS; \
- a##sp = _SP; \
- _SS = FP_SEG (a##stack); \
- _SP = FP_OFF (&(a##stack[STACKSIZE])); \
- }
-
- #define ENDSTACK(a) { \
- _SS = a##ss; \
- _SP = a##sp; \
- }
-
- #define DOSOK() ((*indos & 0x000F) == 0x0)
- #define DOS28OK() ((*indos & 0x000F) == 1)
-
- #define MY_ID 0xEA
- #define DETECT_CMD 0x00
- #define UNLOAD_CMD 0x10
-
-
- void chain (void interrupt (*) (void));
- void interrupt new_8 ();
- void interrupt new_23 ();
- void interrupt new_24 (int,int,int,int,int,int,int,int,int,int,int,int);
- void interrupt new_28 ();
-
- void interrupt new_2F (int,int,int,int,int,int,int,int,int,int,int,int);
- void tsr (int);
- void enter_tsr (int x);
-
- extern void interrupt (*old_8) (void);
- extern void interrupt (*old_23) (void);
- extern void interrupt (*old_24) (void);
- extern void interrupt (*old_28) (void);
- extern void interrupt (*old_2F) (void);
-
- extern BYTE _8_chk_dos;
- extern WORD _8_count;
- extern WORD _8_flag;
- extern WORD _8_max;
- extern WORD _8_stack[STACKSIZE];
- extern WORD _8_ss;
- extern WORD _8_sp;
- extern WORD want_in;
- extern WORD _28_flag;
- extern WORD *indos; // pun not intended "WordStar in DOS"
- extern WORD old_psp;
-
- extern FILE *file;
-